/*
 * $Id: AbstractCfgRequestSchedule.java,v 1.3 2009/07/24 18:27:42 oliver Exp $
 *
 * Copyright (C) 2006 General Electric Company. All Rights Reserved.
 *
 * This software is the confidential and proprietary information of the General
 * Electric Company (GE). You shall not disclose this software and shall use it
 * only in accordance with the terms of the license agreement you entered into
 * with GE.
 *
 * GE MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
 * NON-INFRINGEMENT. GE SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
 * AS A RESULT OF USING, MODIFYING, OR DISTRIBUTING THIS SOFTWARE OR ITS
 * DERIVATIVES.
 */

/*
 * WARNING: DO NOT EDIT THIS FILE. This is a generated file that is synchronized
 * by MyEclipse Hibernate tool integration.
 *
 * Created Wed Jan 14 22:14:13 CST 2009 by MyEclipse Hibernate Tool.
 */
package com.ge.healthcare.autosc.common.database.pojo;

import java.io.Serializable;

/**
 * A class that represents a row in the CFG_REQUEST_SCHEDULE table. 
 * You can customize the behavior of this class by editing the class, {@link CfgRequestSchedule()}.
 * WARNING: DO NOT EDIT THIS FILE. This is a generated file that is synchronized
 * by MyEclipse Hibernate tool integration.
 */
public abstract class AbstractCfgRequestSchedule 
    implements Serializable
{
    /**
	 * Eclipse generated
	 */
	private static final long serialVersionUID = -8117988963964007007L;

	/** The cached hash code value for this instance.  Settting to 0 triggers re-calculation. */
    private int hashValue = 0;

    /** The composite primary key value. */
    private java.lang.Long requestScheduleId;

    /** The value of the cfgRequestType association. */
    private CfgRequestType cfgRequestType;

    /** The value of the simple systemId property. */
    private java.lang.String systemId;

    /** The value of the simple lastTimeRun property. */
    private java.util.Date lastTimeRun;

    /** The value of the simple runIntervalInHr property. */
    private java.lang.Long runIntervalInHr;

    /**
     * Simple constructor of AbstractCfgRequestSchedule instances.
     */
    public AbstractCfgRequestSchedule()
    {
    }

    /**
     * Constructor of AbstractCfgRequestSchedule instances given a simple primary key.
     * @param requestScheduleId
     */
    public AbstractCfgRequestSchedule(java.lang.Long requestScheduleId)
    {
        this.setRequestScheduleId(requestScheduleId);
    }

    /**
     * Return the simple primary key value that identifies this object.
     * @return java.lang.Long
     */
    public java.lang.Long getRequestScheduleId()
    {
        return requestScheduleId;
    }

    /**
     * Set the simple primary key value that identifies this object.
     * @param requestScheduleId
     */
    public void setRequestScheduleId(java.lang.Long requestScheduleId)
    {
        this.hashValue = 0;
        this.requestScheduleId = requestScheduleId;
    }

    /**
     * Return the value of the REQUEST_TYPE_ID column.
     * @return CfgRequestType
     */
    public CfgRequestType getCfgRequestType()
    {
        return this.cfgRequestType;
    }

    /**
     * Set the value of the REQUEST_TYPE_ID column.
     * @param cfgRequestType
     */
    public void setCfgRequestType(CfgRequestType cfgRequestType)
    {
        this.cfgRequestType = cfgRequestType;
    }

    /**
     * Return the value of the SYSTEM_ID column.
     * @return java.lang.String
     */
    public java.lang.String getSystemId()
    {
        return this.systemId;
    }

    /**
     * Set the value of the SYSTEM_ID column.
     * @param systemId
     */
    public void setSystemId(java.lang.String systemId)
    {
        this.systemId = systemId;
    }

    /**
     * Return the value of the LAST_TIME_RUN column.
     * @return java.util.Date
     */
    public java.util.Date getLastTimeRun()
    {
        return this.lastTimeRun;
    }

    /**
     * Set the value of the LAST_TIME_RUN column.
     * @param lastTimeRun
     */
    public void setLastTimeRun(java.util.Date lastTimeRun)
    {
        this.lastTimeRun = lastTimeRun;
    }

    /**
     * Return the value of the RUN_INTERVAL_IN_HR column.
     * @return java.lang.Long
     */
    public java.lang.Long getRunIntervalInHr()
    {
        return this.runIntervalInHr;
    }

    /**
     * Set the value of the RUN_INTERVAL_IN_HR column.
     * @param runIntervalInHr
     */
    public void setRunIntervalInHr(java.lang.Long runIntervalInHr)
    {
        this.runIntervalInHr = runIntervalInHr;
    }

    /**
     * Implementation of the equals comparison on the basis of equality of the primary key values.
     * @param rhs
     * @return boolean
     */
    public boolean equals(Object rhs)
    {
        if (rhs == null)
            return false;
        if (! (rhs instanceof CfgRequestSchedule))
            return false;
        CfgRequestSchedule that = (CfgRequestSchedule) rhs;
        if (this.getRequestScheduleId() == null || that.getRequestScheduleId() == null)
            return false;
        return (this.getRequestScheduleId().equals(that.getRequestScheduleId()));
    }

    /**
     * Implementation of the hashCode method conforming to the Bloch pattern with
     * the exception of array properties (these are very unlikely primary key types).
     * @return int
     */
    public int hashCode()
    {
        if (this.hashValue == 0)
        {
            int result = 17;
            int requestScheduleIdValue = this.getRequestScheduleId() == null ? 0 : this.getRequestScheduleId().hashCode();
            result = result * 37 + requestScheduleIdValue;
            this.hashValue = result;
        }
        return this.hashValue;
    }
}
